Hammad Butt's profile

Spill/Animasjon - Gaia & Poppe

Gaia & Poppe
Spilldesign | Animasjon | Programmering
Høgskolen i Østfold
Formålet
Denne oppgaven var gjort i forbindelse med et semester i 2013 innen spillprogrammering, hvor studiets fokus var på spilldesign og animasjon med Adobe Flash CS5. Semesteret ga en innføring i programmering i ActionScript 3.0 og generell bruk av Flash, hvor oppgaven var å lage et fungerende spill med et klart mål for interaktivitet og engasjement.

Premisset
Spillet handler om Gaia og hennes lekebamse, Poppe. Sammen møter de på store og små utfordringer, hvor også lek og moro er del av hverdagen. Her er det mye å lære men det tar de med godt humør og fryd. Bli med på eventyret hvor en hel verden venter på å bli sett og dessuten, de vil kanskje trenge litt hjelp men det er jo barnemat. Tross alt, hva er bedre enn gode venner på veien?

Oppstart
Det ble dannet en liten gruppe og idémyldring var straks i gang hvor det fort var enighet om mange av forslagene. Mange forventninger var satt men disse skulle etterhvert bli tilpasset etter oppgavens størrelse og vanskelighetsgrad. Gruppearbeidet foregikk ofte via nett gjennom meldinger og e-post da omstendigheter på daværende tidspunkt presenterte få anledninger til å møtes, men gruppen gjorde det beste ut av det og totale arbeidet var likevel meget godt synkronisert imellom studentene basert på god kommunikasjon og kjemi.

Planlegging
Planleggingsfasen var starten på arbeidet til å utarbeide forskjellige idéer til å konstruere forskjellige baner. Spillet som var i utgangspunktet ment til å være veldig simpelt å bruke, var bygd på flere utkaster av hvordan disse banene kunne og skulle se ut i løpet av utviklingsfasen. Skissene ble på nytt tegnet ned fra ark ved anvendelse av Adobe Flash CS4/5.5, og deretter "finalisert" med Photoshop CS4 i tillegg til eventuelle endringer i den endelige versjonen.

Programmering
Programmeringsdelen ble utført med tanke på spillets tema og funksjonalitet, som inngikk bruk av enkle mekanismer og belastningsfritt design for øynene da dette spillet er beregnet for de yngste. Spillet er interaktivt i den forstand av sine pek-og-klikk-funksjoner. De viktigste funksjonene innebærte bruk av koder som gjorde det mulig blant annet å kjøre hendelser dersom et objekt ble klikket. I en av banene var det spesielt én funksjon som var sentral, nemlig å usynliggjøre objekter som ble "samlet på" som for eksempel:

function funnetBlokkfloyte(event:MouseEvent){
if (plukkBlokkfloyte.visible = true){
    plukkBlokkfloyte.visible = false;
    } else if (plukkBlokkfloyte.visible = false){
    plukkBlokkfloyte.visible = true;
    }
// Hvis den synes så gjør den usynlig, men hvis den allerede er det så la den vises frem til videre
    gotoAndStop(89); // Hopp til neste utfordring
}


En annen funksjon var å skripte objekter i tilfeldig rekkefølge som skulle animeres i MovieClips, noe det var behov for i siste bane. Objektet skulle dukke opp på tilfeldige steder hver gang det ble klikket på:

function fantPoppe1(event:MouseEvent){
gotoAndStop(37 + Math.floor(Math.random() * 7));
}

Som debuterende AS3-programmerere så var utfordringene allerede store. Tommelfingerregelen var å kode et spill som medfulgte mekanikk med et realistisk ambisjonsnivå, fulgt ut ifra systemdesign. Det var veldig viktig å "holde kontakt med bakken" da planleggingen startet for å unngå å treffe veggen i programmeringsprosessen. For å være i odds med forventingene så var det oppfordring blant gruppen til å forholde seg ambisiøs kun etter behov, at det i den forstand kunne kalles et konsist spill. Funksjoner som ikke fungerte eller passet i skriptet ble begrenset, kansellert eller forsinket frem til videre i tilfellet det ble funnet løsning på disse hindringene. Fokuset var på et avrundet spill som hvis nødvendig, måtte gå på bekostningen av å fjerne manglende funksjoner som kunne potensielt være med på å gjenskape sluttproduktet på det avanserte stadiet.

Internett ble primært anvendt som hjelpemiddel til å lage spillet. Gruppens ferdigheter i grunnleggende AS3-programmering var i stor grad utviklet ved bruk av IT2: Programmering i Actionscript 3.0, skrevet av Tom Heine Nätt og Jostein Nordengen.

Prototyper
Første prototype var et eksempel på både hvordan spillet kunne se ut og hvordan det generelt fungerte. Første kjørbare test av spillet var originalt i svart og hvitt, skisset med verktøy i Flash. Denne versjonen manglet "Gaia" den sentrale karakteren i spillet, og grovt inneholdt kun omgivelsene og en animert tavle med en rekke ferdig programmerte oppgaver.

Nyere prototypen var en forbedring med tanke på visuelle endringer, hvor et par av disse banene fra sistnevnte prototype gjorde en overgang. Her dukker "Gaia" opp for første gang som en del av spillet, da kun med sitt nærvær. Spillets svart og hvit design fra første prototype ble totalt erstattet fra bunnen opp med høyoppløselig fullstendig design med avrundede objekter og fargebelagte omgivelser. Dette var gjort i Photoshop, hvor hvert eneste objekt i bildet var delt opp i hver sin layer. Dette for å gjøre "psd-pakken" klar til bruk i Flash. Noe som gjorde det lettvint å kode, animere og redigere hvert enkelte objekt etter behov. I tillegg var en startskjerm på plass, med valg om å starte eller fortsette (ikke definert).

En ny bane ble lagt til, der klikkbare animerte MovieClips ble tatt i bruk men uten funksjon for å fullføre banen. Dialog var planlagt å være med, men det ble istedet klikkbare snakkebobler i denne omgang. Viktige knapper som "menu" og "retry" kom på plass i prototypen for navigasjon. Musikk ble lagt til, men det var ikke definert en funksjon for å stoppe den ennå så den kunne lett misbrukes med "menu"-knappen til å overlappe.
Den endelige utgaven er utseendesmessig lik prototypen og ble finpusset på men hadde likevel mangler, som stemmer og en udefinert sistebane med klikkbare MovieClips. Funksjoner ble forsøkt lagt til og møysommelig justert for å fungere, som tid og en teller for hvert klikk. Det viste seg å være langt utfordrende enn forutsett. Mange harde og timesvise forsøk ble gjort for å gjøre koden så logisk som mulig, men veldig lite var oppnådd. Dette ble et hinder så fokus ble fordelt på andre ting.

En ny funksjon ble lagt til for å dempe musikken. Startskjermen ble endret, der "continue" ble fjernet og spillet fikk istedet en valgliste på neste side. Kun ett av fire nivåer er tilgjengelige. En løsning ble funnet for den overlappende musikken og ved riktig justering fungerte den slik som forventet. Stemmer var fremdeles ikke lagt inn på dette stadiet på grunn av forsinkelser, men dette kom på plass før presentasjonen. De mange forsøkene på å inkludere en museklikk-teller og tid imidlertid viste seg å være for ambisiøst selv på dette stadiet.
Avsluttende ord
På tross av fortløpende kompromisser som måtte gjøres gjennom hele prosessen, fungerte gruppen veldig godt hvor hver part hadde anledning til å gjøre sitt så deretter dele arbeidet videre på server og e-post. Det var en kollaborasjon hvor alle var inneforstått med et felles ansvar for å levere en oppgave, et arbeid som reflekterer både oppturer og nedturer som finnes i de fleste prosjekter. Det var fremdeles en lærerik opplevelse for alle og ga et innblikk i en travel hverdag hos spilldesignere som hver dag strever for implementering av gode idéer.

Spillet kan prøves her. For å kjøre slike SWF-filer, kan Newgrounds Flash Player for Windows varmt anbefales da offisiell støtte for Adobe Flash ble avsluttet den 12. januar 2021. Med det, takker jeg for oppmerksomhet og håper prosjektet vekket noe entusiasme!
Spill/Animasjon - Gaia & Poppe
Published:

Owner

Spill/Animasjon - Gaia & Poppe

Published: